DB2 ডেটাবেসে Data Validation এবং Integrity Enforcement ডেটার সঠিকতা, পূর্ণতা, এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ। DB2 অনেক ধরনের কনস্ট্রেইন্ট এবং ডেটা ভ্যালিডেশন ফিচার সরবরাহ করে, যা ডেটাবেসের মধ্যে সঠিক তথ্য সংরক্ষণে সহায়ক।
Data Validation হল একটি প্রক্রিয়া যা নিশ্চিত করে যে, ডেটা সঠিক, পূর্ণ, এবং নির্ভরযোগ্য। DB2 এ ডেটা ভ্যালিডেশন কনস্ট্রেইন্ট এবং বিভিন্ন বিধি ব্যবহার করে করা হয়।
NOT NULL কনস্ট্রেইন্ট:
NULL
মান থাকবে না। যদি আপনি চান যে একটি কলামে ডেটা থাকা বাধ্যতামূলক, তবে NOT NULL
কনস্ট্রেইন্ট ব্যবহার করবেন।CREATE TABLE employee (
id INT NOT NULL,
name VARCHAR(100) NOT NULL,
position VARCHAR(50)
);
CHECK কনস্ট্রেইন্ট:
CHECK
কনস্ট্রেইন্টের মাধ্যমে আপনি কলামে যে ডেটা থাকবে তা একটি শর্ত পূরণ করতে হবে এমন একটি বিধি আরোপ করতে পারেন। উদাহরণস্বরূপ, যদি আপনি চান যে salary
কলামে 0 বা তার কম মান থাকতে না পারে, তবে আপনি এই কনস্ট্রেইন্ট ব্যবহার করতে পারেন:CREATE TABLE employee (
id INT,
name VARCHAR(100),
salary DECIMAL(10,2),
CHECK (salary > 0)
);
UNIQUE কনস্ট্রেইন্ট:
email
কলামে প্রতিটি মান অনন্য হতে হবে, তবে UNIQUE
কনস্ট্রেইন্ট ব্যবহার করবেন:CREATE TABLE employee (
id INT,
name VARCHAR(100),
email VARCHAR(100) UNIQUE
);
PRIMARY KEY কনস্ট্রেইন্ট:
CREATE TABLE employee (
id INT PRIMARY KEY,
name VARCHAR(100)
);
FOREIGN KEY কনস্ট্রেইন্ট:
FOREIGN KEY
কনস্ট্রেইন্ট দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করে। এটি নিশ্চিত করে যে একটি টেবিলের কোনো কলামে ডেটা অন্য একটি টেবিলের কনট্রোলড কলাম (যেমন PRIMARY KEY
) এর সাথে সঙ্গতিপূর্ণ হবে। এটি ডেটার সম্পর্ক বজায় রাখতে সহায়ক।CREATE TABLE department (
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50)
);
CREATE TABLE employee (
emp_id INT PRIMARY KEY,
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES department(dept_id)
);
Data Integrity হল ডেটার সঠিকতা, এক্সাক্টনেস, এবং পূর্ণতা নিশ্চিত করা। DB2 ডেটাবেসে Integrity Enforcement ডেটার সঠিকতা এবং নির্ভরযোগ্যতা নিশ্চিত করতে ব্যবহৃত কনস্ট্রেইন্টস এবং অন্যান্য বিধি বাস্তবায়ন করে। Integrity Enforcement সাধারণত এই তিনটি প্রক্রিয়া অনুসরণ করে:
PRIMARY KEY
থাকতে হবে। এটি ডেটাবেসের প্রতিটি রেকর্ডের অনন্যতা বজায় রাখে এবং ডুপ্লিকেট রেকর্ড তৈরি হতে বাধা দেয়।CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
salary
কলামে শুধুমাত্র ধনাত্মক সংখ্যাগুলি রাখতে চাইলে CHECK
কনস্ট্রেইন্ট ব্যবহার করা যেতে পারে:CREATE TABLE employee (
id INT PRIMARY KEY,
name VARCHAR(100),
salary DECIMAL(10,2) CHECK (salary > 0)
);
Triggers:
Triggers
ব্যবহার করে আপনি বিশেষ কিছু ডেটা পরিবর্তনের উপর শর্ত আরোপ করতে পারেন। উদাহরণস্বরূপ, যখন একটি ডেটা ইনসার্ট, আপডেট বা ডিলিট হয়, তখন এটি অটোমেটিকভাবে একটি নির্দিষ্ট প্রক্রিয়া শুরু করতে পারে যা ডেটার ইন্টিগ্রিটি নিশ্চিত করবে।CREATE TRIGGER salary_check
BEFORE INSERT ON employee
REFERENCING NEW AS new_row
FOR EACH ROW
BEGIN
IF new_row.salary < 0 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Salary must be greater than zero';
END IF;
END;
DB2 ডেটাবেসে Data Validation এবং Integrity Enforcement হল ডেটার সঠিকতা, পূর্ণতা এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য ব্যবহৃত কৌশল এবং কনস্ট্রেইন্ট। NOT NULL, CHECK, UNIQUE, PRIMARY KEY, এবং FOREIGN KEY কনস্ট্রেইন্ট ব্যবহার করে আপনি ডেটা সঠিক এবং সুরক্ষিত রাখতে পারেন। Entity Integrity, Referential Integrity, এবং Domain Integrity নিশ্চিত করার মাধ্যমে DB2 ডেটাবেসে ডেটার সঠিকতা এবং সম্পর্ক বজায় রাখা হয়।